#define M_SIZE 256

float A[M_SIZE*M_SIZE];
float B[M_SIZE*M_SIZE];
float C[M_SIZE*M_SIZE];

void vectorMultiply(float A[M_SIZE*M_SIZE], float B[M_SIZE], float C[M_SIZE]) {
	
	int i,j;
	for (i=0; i<M_SIZE; i++) {
		C[i] = 0.0;
		for (j=0; j<M_SIZE; j++) {
			C[i] = C[i] + B[j] * A[i*M_SIZE+j];
		}
	}
}

int main() {
	
	int i, j;
	for (j=0; j<9; j++) {
		for (i=0; i<M_SIZE; i++) {
			vectorMultiply(A, &B[i*M_SIZE], &C[i*M_SIZE]);
		}
	}
	return 0;
}
